CALC

Top 

CALC        


 

Realiza un salto a una subrutina si el bit 0 del acumulador es 1. Esta se identifica por una etiqueta (label), y es siempre hacia adelante (no se permiten saltos hacia atrás)

 

        CAL Sub1         ;Salta a la subrutina llamada "Sub1"

        ST q0.0           ;Instrucción siguiente o punto de retorno de la subrutina

        LD sm0.4

        CALC Sub1       ;Salta a la subrutina llamada "Sub1" si el bit 0 del acumulador es 1

        LD sm0.5

        CALNC Sub1     ;Salta a la subrutina llamada "Sub1" si el bit 0 del acumulador es 0

        END                     ;Termina el programa y vuelve a ejecutar desde el principio

 

Sub1         LD i0.0  ;Primera instrucción de la subrutina

        RETC                 ;Retorno condicional (si el bit 0 del acumulador es 1)

        AND i0.1

        RETNC               ;Retorno condicional (si el bit 0 del acumulador es 0)

        XOR i0.2

        RET                   ;Retorno incondicional de la subrutina

 

 

Encadenamiento de llamados

 

    ld 1                        ;Valor 1 al acumulador (Acc)
    CALC sum_xi_yi              ;Ejecuta sum_xi_yi porque el Acc está en 1
    CALC suma_yi                ;suma_y se ejecutará si Acc quedó en 1 después de haber ejecutado sum_xi_yi
    CALC a                      ;a se ejecutará si Acc quedó en 1 después de haber ejecutado suma_yi


 

     sum_xi_yi, suma_yi y a alteran el valor del acumulador. Por eso la siguiente es dependiente de la anterior. Para que el esquema funcione cada una de las subrutinas debería terminar con un LD 1:


sum_xi_yi:           instrucción
                        ...
                        ...
                     LD 1                ;Valor devuelto en el acumulador definido
                     RET

suma_yi:             instrucción
                        ...
                        ...
                     LD 1                ;Valor devuelto en el acumulador definido
                     RET

 

 

 

 

  Representación en Ladder

 

CAL

CALNC

JMP

RET

 

 

Lista de instrucciones
Indice